{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.feature_selection import SelectKBest, chi2\n",
    "from sklearn.linear_model import LogisticRegressionCV\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn import metrics\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as mpatches\n",
    "import sklearn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.19.1\n"
     ]
    }
   ],
   "source": [
    "print (sklearn.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def extend(a, b):\n",
    "    return 1.05*a-0.05*b, 1.05*b-0.05*a"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据说明\n",
    "\n",
    "|    en      | zh    |\n",
    "| :--------: |:-----:|\n",
    "|sepal_length|花萼长度|\n",
    "|sepal_width |花萼宽度|\n",
    "|petal_length|花瓣长度|\n",
    "|petal_width |花瓣宽度|\n",
    "|class       |类别|"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   sepal_length  sepal_width  petal_length  petal_width  class\n",
      "0           5.1          3.5           1.4          0.2      0\n",
      "1           4.9          3.0           1.4          0.2      0\n",
      "2           4.7          3.2           1.3          0.2      0\n",
      "3           4.6          3.1           1.5          0.2      0\n",
      "4           5.0          3.6           1.4          0.2      0\n"
     ]
    }
   ],
   "source": [
    "iris_data = pd.read_csv('iris.data', header=None)\n",
    "# print (iris_data)\n",
    "columns = np.array(['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class'])\n",
    "iris_data.rename(columns=dict(zip(np.arange(5), columns)), inplace=True)\n",
    "iris_data['class'] = pd.Categorical(iris_data['class']).codes\n",
    "print (iris_data[0:5])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### load_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = iris_data[columns[0:-1]]\n",
    "y = iris_data[columns[-1]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " \n",
    "### PCA参数说明：\n",
    "\n",
    "\n",
    "- n_components:\n",
    "  - 意义：PCA算法中所要保留的主成分个数n，也即保留下来的特征个数n\n",
    "  - 类型：int 或者 string，缺省时默认为None，所有成分被保留。赋值为int，比如n_components=1，将把原始数据降到一个维度。赋值为string，比如n_components='mle'，将自动选取特征个数n，使得满足所要求的方差百分比。\n",
    "     \n",
    "     \n",
    "- copy:\n",
    "  - 类型：bool，True或者False，缺省时默认为True。\n",
    "  - 意义：表示是否在运行算法时，将原始训练数据复制一份。若为True，则运行PCA算法后，原始训练数据的值不会有任何改变，因为是在原始数据的副本上进 行运算；若为False，则运行PCA算法后，原始训练数据的值会改，因为是在原始数据上进行降维计算。\n",
    "  \n",
    "  \n",
    "- whiten:\n",
    "  - 类型：bool，缺省时默认为False\n",
    "  - 意义：白化，使得每个特征具有相同的方差。关于“白化”，\n",
    "  - 参考：http://deeplearning.stanford.edu/wiki/index.php/%E7%99%BD%E5%8C%96\n",
    "\n",
    "  \n",
    "- svd_solver：\n",
    "  - 即指定奇异值分解SVD的方法，由于特征分解是奇异值分解SVD的一个特例，一般的PCA库都是基于SVD实现的。\n",
    "  - 有4个可以选择的值：{‘auto’, ‘full’, ‘arpack’, ‘randomized’}。randomized一般适用于数据量大，数据维度多同时主成分数目比例又较低的PCA降维，它使用了一些加快SVD的随机算法。 full则是传统意义上的SVD，使用了scipy库对应的实现。arpack和randomized的适用场景类似，区别是randomized使用的是scikit-learn自己的SVD实现，而arpack直接使用了scipy库的sparse SVD实现。默认是auto，即PCA类会自己去在前面讲到的三种算法里面去权衡，选择一个合适的SVD算法来降维。一般来说，使用默认值就够了。\n",
    "\n",
    "\n",
    "- random_state:\n",
    "  - 如果是int，random_state是随机数发生器使用的种子; 如果是RandomState实例，random_state是随机数生成器;\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### PCA对象的方法：\n",
    "\n",
    "- fit(X,y=None)：\n",
    "\n",
    "fit()可以说是scikit-learn中通用的方法，每个需要训练的算法都会有fit()方法，它其实就是算法中的“训练”这一步骤。\n",
    "因为PCA是无监督学习算法，此处y自然等于None。fit(X)，表示用数据X来训练PCA模型。\n",
    "函数返回值：调用fit方法的对象本身。比如pca.fit(X)，表示用X对pca这个对象进行训练。\n",
    "\n",
    "- fit_transform(X)：\n",
    "\n",
    "用X来训练PCA模型，同时返回降维后的数据。\n",
    "newX=pca.fit_transform(X)，newX就是降维后的数据。\n",
    "\n",
    "- inverse_transform()：\n",
    "\n",
    "将降维后的数据转换成原始数据，X=pca.inverse_transform(newX)\n",
    "\n",
    "- transform(X)：\n",
    "\n",
    "将数据X转换成降维后的数据。当模型训练好后，对于新输入的数据，都可以用transform方法来降维。\n",
    "\n",
    "- 此外，还有get_covariance()、get_precision()、get_params(deep=True)、score(X, y=None)等方法。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The composition of the largest variance: [[ 0.36158968 -0.08226889  0.85657211  0.35884393]\n",
      " [ 0.65653988  0.72971237 -0.1757674  -0.07470647]]\n",
      "Variance in all directions: [ 4.22484077  0.24224357]\n",
      "The proportion of variance: [ 0.92461621  0.05301557]\n",
      "[[-1.3059028   0.66358991]\n",
      " [-1.32107398 -0.34449998]\n",
      " [-1.405936   -0.27905426]\n",
      " [-1.33617856 -0.63213207]\n",
      " [-1.32749711  0.67845686]]\n"
     ]
    }
   ],
   "source": [
    "method = 'pca'\n",
    "\n",
    "if method == \"pca\":\n",
    "    pca = PCA(n_components=2, whiten=True, random_state=0)\n",
    "    x = pca.fit_transform(X)\n",
    "    print ('The composition of the largest variance:', pca.components_)\n",
    "    print ('Variance in all directions:', pca.explained_variance_)\n",
    "    print ('The proportion of variance:', pca.explained_variance_ratio_)\n",
    "    x1_label, x2_label = 'PC1', 'PC2'\n",
    "    title = 'PCA Dimensionality reduction'\n",
    "else:\n",
    "    fs = SelectKBest(chi2, k=2)\n",
    "    fs.fit(X, y)\n",
    "    idx = fs.get_support(indices=True)\n",
    "    print ('fs.get_support() = ', idx)\n",
    "    x = X[idx]\n",
    "    x = x.values  # 为下面使用方便，DataFrame转换成ndarray\n",
    "    x1_label, x2_label = columns[idx]\n",
    "    title = 'Feature selection'\n",
    "print (x[:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 预测值\n",
    "cm_light = mpl.colors.ListedColormap(['#FFF68F', '#EEEEE0', '#BCEE68'])\n",
    "# 实际值\n",
    "cm_dark = mpl.colors.ListedColormap(['g', 'r', 'b'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 绘制散点图\n",
    "\n",
    "- `x[:, 0], x[:, 1]`相当于`x，y`坐标\n",
    "\n",
    "- `c`是色彩或颜色序列\n",
    "\n",
    "- `True` 显示网格\n",
    "\n",
    "- `linestyle` 设置线显示的类型(一共四种)\n",
    "\n",
    "- `color` 设置网格的颜色\n",
    "\n",
    "- `linewidth` 设置网格的宽度\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nfzTaAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f1bb4182160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(facecolor='w')\n",
    "#plt.scatter(X[u'花萼长度'][:], X[u'花萼宽度'][:], s=30, c=y, marker='o', cmap=cm_dark)\n",
    "plt.scatter(x[:, 0], x[:, 1], s=30, c=y, marker='o', cmap=cm_dark)\n",
    "\n",
    "plt.grid(b=True, ls=':')\n",
    "plt.xlabel(x1_label, fontsize=14)\n",
    "plt.ylabel(x2_label, fontsize=14)\n",
    "plt.title(title, fontsize=18)\n",
    "# plt.savefig('1.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "随机切分训练数据和测试数据\n",
    "\n",
    "每次运行的结果会不同"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimal parameters: [  1.00000000e-03   1.00000000e+01   1.00000000e+01]\n",
      "Training set accuracy: 0.980952380952\n",
      "Test set accuracy: 0.933333333333\n"
     ]
    }
   ],
   "source": [
    "x, x_test, y, y_test = train_test_split(x, y, train_size=0.7,test_size=0.3)\n",
    "model = Pipeline([\n",
    "    ('poly', PolynomialFeatures(degree=4, include_bias=True)),\n",
    "    ('lr', LogisticRegressionCV(Cs=np.logspace(-3, 4, 8), cv=5, fit_intercept=False))\n",
    "])\n",
    "model.fit(x, y)\n",
    "# get_params() 取出之前定义的参数\n",
    "print ('Optimal parameters:', model.get_params('lr')['lr'].C_)\n",
    "y_hat = model.predict(x)\n",
    "print ('Training set accuracy:', metrics.accuracy_score(y, y_hat))\n",
    "y_test_hat = model.predict(x_test)\n",
    "print ('Test set accuracy:', metrics.accuracy_score(y_test, y_test_hat))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f1b7aed9438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "N, M = 500, 500                                         # 横纵各采样多少个值\n",
    "x1_min, x1_max = extend(x[:, 0].min(), x[:, 0].max())   # 第0列的范围\n",
    "x2_min, x2_max = extend(x[:, 1].min(), x[:, 1].max())   # 第1列的范围\n",
    "t1 = np.linspace(x1_min, x1_max, N)\n",
    "t2 = np.linspace(x2_min, x2_max, M)\n",
    "x1, x2 = np.meshgrid(t1, t2)                    # 生成网格采样点\n",
    "x_show = np.stack((x1.flat, x2.flat), axis=1)   # 测试点\n",
    "y_hat = model.predict(x_show)                   # 预测值\n",
    "y_hat = y_hat.reshape(x1.shape)                 # 使之与输入的形状相同\n",
    "plt.figure(facecolor='w')\n",
    "plt.pcolormesh(x1, x2, y_hat, cmap=cm_light)    # 预测值的显示\n",
    "plt.scatter(x[:, 0], x[:, 1], s=30, c=y, edgecolors='k', cmap=cm_dark)  # 样本的显示\n",
    "plt.xlabel(x1_label, fontsize=14)\n",
    "plt.ylabel(x2_label, fontsize=14)\n",
    "plt.xlim(x1_min, x1_max)\n",
    "plt.ylim(x2_min, x2_max)\n",
    "plt.grid(b=True, ls=':')\n",
    "# 画各种图\n",
    "# a = mpl.patches.Wedge(((x1_min+x1_max)/2, (x2_min+x2_max)/2), 1.5, 0, 360, width=0.5, alpha=0.5, color='r')\n",
    "# plt.gca().add_patch(a)\n",
    "patchs = [mpatches.Patch(color='#77E0A0', label='Iris-setosa'),\n",
    "            mpatches.Patch(color='#FF8080', label='Iris-versicolor'),\n",
    "            mpatches.Patch(color='#A0A0FF', label='Iris-virginica')]\n",
    "plt.legend(handles=patchs, fancybox=True, framealpha=0.8, loc='lower right')\n",
    "plt.title('Logistic Regression result', fontsize=17)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
